package com.inoneone.youba.mcht.dto.rsp;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.inoneone.youba.mcht.util.CustomDecimalSerialize;

import java.math.BigDecimal;
import java.util.Date;

public class CardFlowRsp {

    /**
     * 流水号
     */
    @JsonSerialize(using= ToStringSerializer.class)
    private Long id;

    /**
     * 科目
     * @see com.inoneone.toolkit.enums.Subject
     */
    private Integer subject;

    /**
     * 1.增加，2减少
     * @see com.inoneone.toolkit.enums.ChangeType
     */
    private Integer changeType;

    /**
     * 变动金额
     *
     */
    @JsonSerialize(using = CustomDecimalSerialize.class)
    private BigDecimal changeAmount;

    /**
     *余额
     */
    @JsonSerialize(using = CustomDecimalSerialize.class)
    private BigDecimal balance;

    /**
     * 手机号
     */
    private String mobile;

    /**
     * 单位名称
     */
    private String company;

    /**
     * 用户姓名
     */
    private String userName;

    /**
     * ic卡号
     */
    private String cardId;

    /**
     * 流水时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;


    /**
     * 备注
     */
    private String remark;

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Integer getSubject() {
        return subject;
    }

    public void setSubject(Integer subject) {
        this.subject = subject;
    }

    public Integer getChangeType() {
        return changeType;
    }

    public void setChangeType(Integer changeType) {
        this.changeType = changeType;
    }

    public BigDecimal getChangeAmount() {
        return changeAmount;
    }

    public void setChangeAmount(BigDecimal changeAmount) {
        this.changeAmount = changeAmount;
    }

    public BigDecimal getBalance() {
        return balance;
    }

    public void setBalance(BigDecimal balance) {
        this.balance = balance;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getCompany() {
        return company;
    }

    public void setCompany(String company) {
        this.company = company;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getCardId() {
        return cardId;
    }

    public void setCardId(String cardId) {
        this.cardId = cardId;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

}